import request from '@/utils/request'

/**
 * 用户登录
 * @param {Object} data - 登录信息
 * @param {string} data.username - 用户名
 * @param {string} data.password - 密码
 */
export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data: {
      phone: data.username,
      password: data.password
    }
  })
}

/**
 * 用户注册
 * @param {Object} data - 注册信息
 * @param {string} data.username - 用户名
 * @param {string} data.password - 密码
 * @param {string} data.email - 邮箱
 * @param {string} data.phone - 手机号
 * @param {string} data.realName - 真实姓名
 */
export function register(data) {
  return request({
    url: '/user/register',
    method: 'post',
    data
  })
}

/**
 * 获取用户信息
 */
export function getUserInfo() {
  return request({
    url: '/user/getUserInfo',
    method: 'get'
  })
}

/**
 * 登出
 */
export function logout() {
  return request({
    url: '/user/logout',
    method: 'post'
  })
} 

// 获取账户信息
export function getAccountInfo() {
  return request({
    url: '/user/getAccountInfo',
    method: 'get'
  })
}

// 更新账户信息
export function updateAccountInfo(data) {
  return request({
    url: '/user/updateAccountInfo',
    method: 'post',
    data
  })
}

// 账户提现
export function withdraw(deduction) {
  return request({
    url: '/user/withdraw',
    method: 'get',
    params: { deduction }
  })
}

// 获取账单信息
export function getBillInfo() {
  return request({
    url: '/user/getBillInfo',
    method: 'get'
  })
}

// 司机认证添加
export function addDriverInfo(data) {
  return request({
    url: '/user/addDriverInfo',
    method: 'post',
    data
  })
}

// 获取司机认证状态
export function getDriverInfoStatus() {
  return request({
    url: '/user/getDriverInfoStatus',
    method: 'get'
  })
}

// 更新司机认证信息
export function updateDriverInfo(data) {
  return request({
    url: '/user/updateDriverInfo',
    method: 'post',
    data
  })
}

// 获取司机认证信息
export function getDriverInfo() {
  return request({
    url: '/user/getDriverInfo',
    method: 'get'
  })
}

// 管理员获取所有用户列表
export function getAllUsers(params) {
  return request({
    url: '/user/getAllAdmin',
    method: 'get'
  })
}

// 管理员添加用户（暂时保留，可能需要后端补充接口）
export function addUser(data) {
  return request({
    url: '/user/addUser',
    method: 'post',
    data
  })
}

// 管理员更新用户信息
export function updateUser(data) {
  return request({
    url: '/user/updateAdmin',
    method: 'post',
    data
  })
}

// 管理员删除用户（暂时保留，可能需要后端补充接口）
export function deleteUser(userId) {
  return request({
    url: '/user/deleteUser',
    method: 'post',
    data: { userId }
  })
}

// 管理员修改用户状态（暂时保留，可能需要后端补充接口）
export function changeUserStatus(userId, status) {
  return request({
    url: '/user/changeUserStatus',
    method: 'post',
    data: { userId, status }
  })
}

// 获取所有学生信息
export function getAllStudents() {
  return request({
    url: '/user/getStudent',
    method: 'get'
  })
}

// 取消学生认证绑定
export function cancelStudentBinding(userId) {
  return request({
    url: '/user/cancelBindStudentInfo',
    method: 'get',
    params: { userId }
  })
} 